package com.ruoyi.drugSystem.mapper;

import com.ruoyi.drugSystem.domain.SysDrugInfo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author 努力的派大星
 * @version 1.0
 */
@Mapper
public interface SysDrugInfoMapper {

    /**
     * 查询药品种类数据集合
     *
     * @param drugInfo 药品种类信息
     * @return 药品种类数据集合
     */
    public List<SysDrugInfo> selectDrugInfoList(SysDrugInfo drugInfo);

    /**
     * 查询所有药品种类
     *
     * @return 药品种类列表
     */
    public List<SysDrugInfo> selectDrugInfoAll();

    /**
     * 通过药品种类ID查询药品种类信息
     *
     * @param drugInfoId 药品种类ID
     * @return 角色对象信息
     */
    public SysDrugInfo selectDrugInfoById(Long drugInfoId);

    /**
     * 根据用户ID获取药品种类选择框列表
     *
     * @param userId 用户ID
     * @return 选中药品种类ID列表
     */
//    public List<Long> selectDrugInfoListByUserId(Long userId);
//
//    /**
//     * 查询用户所属药品种类组
//     *
//     * @param userName 用户名
//     * @return 结果
//     */
//    public List<SysDrugInfo> selectDrugInfosByUserName(String userName);

    /**
     * 删除药品种类信息
     *
     * @param drugInfoId 药品种类ID
     * @return 结果
     */
    public int deleteDrugInfoById(Long drugInfoId);

    /**
     * 批量删除药品种类信息
     *
     * @param drugInfoIds 需要删除的药品种类ID
     * @return 结果
     */
    public int deleteDrugInfoByIds(Long[] drugInfoIds);

    /**
     * 修改药品种类信息
     *
     * @param drugInfo 药品种类信息
     * @return 结果
     */
    public int updateDrugInfo(SysDrugInfo drugInfo);

    /**
     * 新增药品种类信息
     *
     * @param drugInfo 药品种类信息
     * @return 结果
     */
    public int insertDrugInfo(SysDrugInfo drugInfo);

    /**
     * 校验药品种类名称
     *
     * @param drugInfoName 药品种类名称
     * @return 结果
     */
    public SysDrugInfo checkDrugInfoNameUnique(String drugInfoName);

    /**
     * 校验药品种类编码
     *
     * @param drugInfoCode 药品种类编码
     * @return 结果
     */
    public SysDrugInfo checkDrugInfoCodeUnique(String drugInfoCode);
}
